.\"=====================================================================
.TH SBOPKG.CONF 5 "April 2011" sbopkg-0.35.0 ""
.\"=====================================================================
.SH NAME
sbopkg.conf \- configuration file for sbopkg
.\"=====================================================================
.SH DESCRIPTION
The
.I sbopkg.conf
file contains configuration settings for
.BR sbopkg (8),
a tool for interacting with the SlackBuilds.org (``SBo'') repository, a
collection of third-party SlackBuild scripts to build Slackware
packages.
The default configuration file is installed at
.IR /etc/sbopkg/sbopkg.conf .
The user may override any settings in that file by creating
.IR ~/.sbopkg.conf .
.PP
Please see the
.B NOTES
section for more information about variables, including
.BR ARCH .
.PP
All boolean options require a
.B YES
or a
.B NO
without regard to case.
All path values must be full.
.PP
The default configuration options are:
.\"---------------------------------------------------------------------
.TP 3
.B ALLOW_MULTI
Boolean.
.IP
When set to
.BR YES ,
this option allows the user to run multiple instances of
.B sbopkg
simultaneously.
.IP
Please understand that this option is provided for convenience, but
given the number of potential issues you can face when enabling this
(and we aren't going to try to work around users doing silly things),
you should consider this an EXPERIMENTAL UNSUPPORTED feature.
If you encounter problems, please try to make sure these aren't caused
by yourself doing improper things.
.IP
For reference, these are some of the things you shouldn't do with this
option enabled:
.RS 5
.TP 3
\(bu
run instances with a mixture of
.B YES
and
.B NO
settings
.TP
\(bu
sync a repository when another instance is using it
.TP
\(bu
change the branch of a git repository when another instance is using it
(this caveat does not apply to rsync repositories)
.TP
\(bu
simultaneously build or install the same package from different
instances
.TP
\(bu
save a queue file while using it from another instance
.RE
.IP
There can be more unsafe situations we haven't thought about.
Take care.
.IP
The default assignment is:
.IP
\fCALLOW_MULTI=${ALLOW_MULTI:-NO}\fP
.\"---------------------------------------------------------------------
.TP
.B CLEANUP
Boolean.
.IP
When set to
.BR YES ,
the unpacked source files and package tree in
.I $TMP
are deleted right after the build, though the downloaded source archive
and completed package are left in
.I $SRCDIR
and
.IR $OUTPUT .
.IP
A side effect of setting
.B CLEANUP
to
.B YES
is that
.B TMP
is set to
.BR sbopkg 's
own temporary directory
.RI ( $TMPDIR/sbopkg.RANDOM_STRING )
and any other
.B TMP
setting is ignored.
.IP
The default assignment is:
.IP
\fCCLEANUP=${CLEANUP:-NO}\fP
.\"---------------------------------------------------------------------
.TP
.B DEBUG_UPDATES
Enumeration.
.IP
This option should be set to
.BR 0 ,
.BR 1 ,
or
.BR 2 .
.B DEBUG_UPDATES
sets the default debugging level for the update list feature of
.BR sbopkg .
When set to
.BR 0 ,
only potential updated (or downgraded) packages are listed.
When set to
.BR 1 ,
potential updates plus packages not in the repo and packages that are
newer than the repo are listed.
When set to
.BR 2 ,
all non-updated packages are also listed.
Changing
.B DEBUG_UPDATES
to
.B 1
or
.B 2
may be helpful if it appears the updatelist might be missing an update.
.IP
The default assignment is:
.IP
\fCDEBUG_UPDATES=${DEBUG_UPDATES:-0}\fP
.\"---------------------------------------------------------------------
.TP
.B DIFF
Command.
.IP
This option allows the user to set which diff program to use when
.B sbopkg
displays differences between edited files.
.IP
The default assignment is:
.IP
\fCDIFF=${DIFF:-diff}\fP
.\"---------------------------------------------------------------------
.TP
.B DIFFOPTS
Command options.
.IP
This option allows the user to set which options are used by the
.I $DIFF
program when
.B sbopkg
displays differences between edited files.
.IP
The default assignment is:
.IP
\fCDIFFOPTS=${DIFFOPTS:--u}\fP
.\"---------------------------------------------------------------------
.TP
.B KEEPLOG
Boolean.
.IP
This option allows the user to choose whether to keep a permanent log of
packages that are built with
.B sbopkg
in order to review the builds for historical or troubleshooting
purposes.
See
.B LOGFILE
for the location of this log.
.IP
The default assignment is:
.IP
\fCKEEPLOG=${KEEPLOG:-YES}\fP
.\"---------------------------------------------------------------------
.TP
.B LOGFILE
Path.
.IP
This option sets the name for the build log if
.B KEEPLOG
is set to
.BR YES .
.IP
The default assignment is:
.IP
\fCLOGFILE=${LOGFILE:-/var/log/sbopkg/sbopkg-build-log}\fP
.\"---------------------------------------------------------------------
.TP
.B MKDIR_PROMPT
Boolean.
.IP
When set to
.BR YES ,
.B sbopkg
will prompt for confirmation before changing the filesystem by creating
its directories.
If you do not wish to be prompted (for instance, if you have some of the
directories on a temporary filesystem and don't wish to be prompted for
confirmation each time the filesystem is reinitialized) you can set this
to
.BR NO .
.IP
The default assignment is:
.IP
\fCMKDIR_PROMPT=${MKDIR_PROMPT:-YES}\fP
.\"---------------------------------------------------------------------
.TP
.B OUTPUT
Path.
.IP
This option sets the default directory where compiled packages are
saved.
.B OUTPUT
must be exported as it is also used by the SBo SlackBuilds.
Note that the default value of
.B OUTPUT
is therefore the same as in the SBo SlackBuilds.
.IP
The default assignment is:
.IP
\fCexport OUTPUT=${OUTPUT:-/tmp}\fP
.\"---------------------------------------------------------------------
.TP
.B QUEUEDIR
Path.
.IP
This option defines the directory under which saved queue files will be
kept.
.IP
The default assignment is:
.IP
\fCQUEUEDIR=${QUEUEDIR:-/var/lib/sbopkg/queues}\fP
.\"---------------------------------------------------------------------
.TP
.B REPO_BRANCH
Enumeration.
.IP
This option allows the user to set the default active repository branch.
The current standard values are listed in the default
.I repos.d/*
files and can also be listed by issuing
.RS
.IP
.nf
\fC# sbopkg -V ?\fP
.fi
.RE
.IP
The default assignment is:
.IP
\fCREPO_BRANCH=${REPO_BRANCH:-13.37}\fP
.\"---------------------------------------------------------------------
.TP
.B REPO_NAME
Enumeration.
.IP
This option allows the user to choose the repository to use.
See
.B REPO_BRANCH
for how to get an enumeration of standard values.
The ``local'' choice corresponds to a user-maintained repository whose
structure must be the same as the one used by SBo, in the sense of a
.I category/package/files
hierarchy.
Note: all of the
.B REPO_*
variables are affected by the repository files maintained in
.I /etc/sbopkg/repos.d.
Please see the
.I README-repos
document in the
.B sbopkg
documentation directory.
.IP
The default assignment is:
.IP
\fCREPO_NAME=${REPO_NAME:-SBo}\fP
.\"---------------------------------------------------------------------
.TP
.B REPO_ROOT
Path.
.IP
This option allows the user to set the location of the local mirrors of
the remote repositories.
Currently, the size of a local copy of the SBo repository is about 96M.
.IP
The default assignment is:
.IP
\fCREPO_ROOT=${REPO_ROOT:-/var/lib/sbopkg}\fP
.\"---------------------------------------------------------------------
.TP
.B RSYNCFLAGS
Command options.
.IP
.B Rsync
is used by
.B sbopkg
to mirror the SBo repository.
This option allows the user to manually tweak the
.B rsync
flags (options) that are used by
.BR sbopkg .
Users are cautioned against making any changes to the default values
since new flags may or may not work.
Note: the
.B rsync
command in
.B sbopkg
already uses the
.BR \-\-archive ,
.BR \-\-delete ,
.BR \-\-no-owner ,
and
.B \-\-exclude
flags, so there is no need to add them to the
.B RSYNCFLAGS
option.
Changing those internal default options is not recommended.
However,
.B \-\-timeout
is a useful option to play with if getting syncing errors.
.IP
The default assignment is:
.IP
\fCRSYNCFLAGS="${RSYNCFLAGS:---verbose --timeout=30}"\fP
.\"---------------------------------------------------------------------
.TP
.B SRCDIR
Path.
.IP
This option contains the location of the cache directory where source
downloads will be saved.
.IP
The default assignment is:
.IP
\fCSRCDIR=${SRCDIR:-/var/cache/sbopkg}\fP
.\"---------------------------------------------------------------------
.TP
.B TMP
Path.
.IP
This option sets the default directory where built packages are saved.
.B TMP
must be exported as it is also used by the SBo SlackBuilds.
Note that the default value of
.B TMP
is therefore the same as in the SBo SlackBuilds.
.IP
Also note that if the
.B CLEANUP
variable is set to
.BR YES ,
any custom
.B TMP
setting is ignored.
.IP
The default assignment is:
.IP
\fCexport TMP=${TMP:-/tmp/SBo}\fP
.\"---------------------------------------------------------------------
.TP
.B TMPDIR
Path.
.IP
This option sets the default directory where certain working files
specific to
.B sbopkg
are saved on a temporary basis. Note that this variable is actually used
by
.BR mktemp (1),
and that the actual directory is hardcoded internally to
.I sbopkg.XXXXXX
where 'XXXXXX' is a random string.
This variable determines the containing directory for that.
If /tmp is not a suitable containing directory, TMPDIR can be assigned
to on the command line when invoking
.B sbopkg
or the variable can be modified in
.IR sbopkg.conf .
.IP
The default assignment is:
.IP
\fCexport TMPDIR=${TMPDIR:-/tmp}\fP
.\"---------------------------------------------------------------------
.TP
.B WGETFLAGS
Command options.
.IP
.B Wget
is used by
.B sbopkg
to download the source files for package building.
This option allows the user to manually tweak the
.B wget
flags (options) that are used by
.BR sbopkg .
Users are cautioned against making any changes to the default values
since new flags may or may not work.
However,
.B \-\-timeout
is a useful option to play with if getting download errors.
.IP
The default assignment is:
.IP
\fCWGETFLAGS="${WGETFLAGS:--c --progress=bar:force --timeout=30 --tries=5}"\fP
.\"=====================================================================
.SH NOTES
.\"---------------------------------------------------------------------
.SS Overriding Environmental Variables
It is possible to set or override environmental variables and pass them
to the SlackBuilds when they are built from within
.BR sbopkg .
This is already demonstrated in the following example line (and others
like it) in the
.I sbopkg.conf
file:
.RS
.PP
.nf
\fCexport TMP=${TMP:-/tmp/SBo}\fP
.fi
.RE
.PP
This sets
.B TMP
to
.I /tmp/SBo
for building SBo packages within
.B sbopkg
(which is currently the default for SBo SlackBuilds already).
Since this variable is exported, it could be changed for both
.B sbopkg
and for building SBo packages within
.BR sbopkg .
For example, changing this line so it reads:
.RS
.PP
.nf
\fCexport TMP=${TMP:-/home/sbo/tmp}\fP
.fi
.RE
.PP
would then set
.B TMP
to
.I /home/sbo/tmp
for building SBo packages and still allow it to be overridden at runtime
by invoking
.B sbopkg
as
.RS
.PP
.nf
\fC# export TMP=foo; sbopkg\fP
.fi
.RE
.PP
.B OUTPUT
can also be changed to save compiled packages in a location other than
the default of
.IR /tmp .
.PP
You can also export variables in
.I sbopkg.conf
that are not used by
.B sbopkg
at all.
.\"---------------------------------------------------------------------
.SS About the ARCH Variable
You may be wondering why
.B ARCH
is not a configuration setting in the default
.I sbopkg.conf
file.
The reason is that it does not have to be.
If
.B ARCH
is not set,
.B sbopkg
does some checking (using the output of
.BR "uname \-m" )
to determine what the system's architecture is.
If the architecture is x86, x86_64, or arm*, then
.B sbopkg
automatically sets
.B ARCH
to i486, x86_64, or arm, respectively.
If
.B ARCH
is set,
.B sbopkg
will inherit that setting.
This means the user can add, for example,
.B export ARCH=i686
in their
.I .bashrc
or similar file, or the user can also execute something in the
root terminal like
.RS
.PP
.nf
\fC# export ARCH=i686; sbopkg\fP
.fi
.RE
.PP
The user can also manually add it to their
.I sbopkg.conf
file if they wish.
Finally, if
.B ARCH
is not set by the user and
.B sbopkg
does not detect one of the previously mentioned architectures, then
.B ARCH
will be set by whatever is in the SlackBuilds.
Note that the SlackBuild may, in certain instances, discard or override
previous
.B ARCH
settings if this is required for the build.
.\"=====================================================================
.SH FILES
.TP 3
.I /etc/sbopkg/sbopkg.conf
File to specify configuration options.
.TP
.I ~/.sbopkg.conf
File to override system configuration options.
.TP
.I /etc/sbopkg/renames.d/*.renames
Files that list software in the SBo repository that has been renamed.
See the
.I README-renames
document in the
.B sbopkg
documentation directory for more information.
.TP
.I /etc/sbopkg/repos.d/*.repo
Files for various types of
.B sbopkg
repositories.
See the
.I README-repos
document in the
.B sbopkg
documentation directory for more information.
.\"=====================================================================
.SH AUTHORS
Chess Griffin
<chess@chessgriffin.com>
.PP
Mauro Giachero
<mauro.giachero@gmail.com>
.PP
slakmagik
<slakmagik@gmail.com>
.\"=====================================================================
.\" Make the release process handle a DOCDIR here? But the files from
.\" the official tarball go here.
.SH SEE ALSO
.BR diff (1),
.BR mktemp (1),
.BR rsync (1),
.BR sbopkg (8),
.BR uname (1),
.BR wget (1),
.IR /usr/doc/sbopkg-0.35.0/*
.\" vim:set tw=72:
